naming-convention
這個開源專案彙整了各種語言的規範、Style Guide、 Git Comment 格式...等
應有盡有,非常完整!
引述其中一句話:
『 There are only two hard things in Computer Science: cache invalidation and naming things -- Phil Karlton 』
命名真的是寫程式中最困難的事之一!!
先補充幾種常見的命名規則:
camelCase
第一個單字字母小寫,之後每一個單字第一個字母為大寫。常用於 JavaScript。PascalCase
第一個單字字母大寫,之後每一個單字第一個字母為大寫。常用於 C。snake_case
以底線分隔單字,每個單字第一個字母為小寫。常用於 PHP。kebab-case
以中線分隔單字,每個單字第一個字母為小寫。『 各個語言或是每個團隊/公司都有自訂自己的一套規則,一致性為主! 』
以下整理 JavaScript 常見的命名規範
Javascript 中的變數是有區分大小寫的
例如:
let name = 'ithelp';
let Name = 'ithome';
console.log(name); // ithelp
console.log(Name); // ithome
一般 JavaScript 都推薦使用 camelCase (駝峰式命名)
通常會全部使用大寫,採用 UPPER_SNAKE_CASE
var SECONDS = 60;
var MINUTES = 60;
var HOURS = 24;
var DAY = SECONDS * MINUTES * HOURS;
如果名稱超過一個單字會用底線(_)
連結
var DAYS_UNTIL_TOMORROW = 1;
常會使用 is
has
作為前綴詞
// bad
var visible = false;
// good
var isvisible = false;
// bad
var owner = true;
// good
var hasOwner = true;
函式名稱一樣也區分大小寫,和變數類似,推薦 camelCase 命名
建議使用 形容名詞 (descriptive nouns)
或動詞
當前綴詞(prefix)
常使用 get
make
apply
當前綴詞
// bad
function name(dogName, ownerName) {
return '${dogName} ${ownerName}';
}
// good
function getName(dogName, ownerName) {
return '${dogName} ${ownerName}';
}
看程式碼像看書一樣
看的人會希望讀起來流暢,不用一直去記前面的細節或內容
程式也是,如果命名的好,光看名字就會記得這個變數、這個函式的用途
不用一直在檔案之間做切換
沒有靈感時,就到 GitHub 搜尋各大框架或是專案,看看巨人們的命名
JavaScript naming conventions
JavaScript Coding Conventions